1. Field
The exemplary embodiments disclosed herein relate to apparatuses, systems and methods for processing data derived from devices such as, for example, factory automation (“FA”) devices including industrial robots, machining tools, and embedded devices.
2. Brief Description of Related Art
In the technical field of factory automation (“FA”), people operating factory devices frequently use networked computing systems, such as computing systems connected to the World-Wide Web (a Web-based computing system), to perform various tasks, such as monitoring the factory devices and processing data related to the factory devices. In the related art, a common way to develop a Web-based computing system is to separately create various types of programs, such as a program for communicating with an Information Technology (IT) system, a program for communicating with factory devices, a program for processing data, and a program for displaying and executing processed data on the Web, and then configure these separately created programs to communicate with each other through a communication protocol.
Since Web-based technology has been utilized throughout the world, Web-based technology has started to become utilized to perform visualization and information processing operations for factory devices.
FIG. 16 illustrates a Web-based system for processing data derived from FA devices according to the related art. As shown in FIG. 16, the Web-based system 1600 includes an actual device 1603 and a programming environment 1623 (e.g., a tool used to write code, validate correctness of the code, and compile the code to run on a particular target platform).
The actual device 1603 includes a program executing space 1605, which includes a program for processing data 1607 and a program for communicating with an external device 1609, and a Web server 1615. The program for processing data 1607 performs various types of data processing operations, such as data filtering, aggregation, transforming (scaling, etc.), and judgment (business logic), and communicates with the Web server 1615, which in turn communicates with a Web client 1619. The program for processing data 1607 also communicates with the coding environment 1617. The program for communicating with an external device 1609 is enabled to communicate with various types of systems according to various types of communication protocols. The program for communicating with an external device 1609 communicates with the IT system 1611 using a communication protocol such as HTTP, FTP, or JDBC, and communicates with a factory automation (FA) device 1613 using RS-232C, Ethernet, or a low level I/O. The program for communicating with an external device 1609 further communicates with a coding environment 1617.
The programming environment 1623 includes a coding environment 1617 which is an environment in which computer codes to perform the above-noted processes are generated. The coding environment may require a user to generate at least five different types of computer code, including (1) a code based on C language for communication with factory devices, (2) a code based on Java for communication with the IT system 1611, (3) a code based on HTML, JavaScript, or PHP for a Web application, (4) a code based on SQL, for accessing a database, and (5) a code based on Lua, for describing business logic. In certain situations, more than five types of codes may be necessary. Once a user generates these various computer codes, the coding environment then communicates with the program for processing data 1607, the program for communicating with external devices 1609, and files for the World Wide Web 1621, using these generated codes.
As explained above, according to the related art Web-based system 1600, a person developing and operating the Web-based system 1600 needs to be proficient in numerous different types of computer languages to generate the appropriate types of computer code for processing data of the FA devices, and also needs to be proficient in numerous different types of protocols used to exchange data between the Web-based system 1600, the FA devices, the IT system, and other entities. Moreover, a person operating the Web-based system 1600 needs to have highly specialized knowledge of the FA system itself, as well as other systems interacting with the FA system, including the IT system 1611 and the Web client 1619. Furthermore, a person operating the Web-based system 1600 needs to understand how to seamlessly combine data processing and communication processing operations, which can be a very complicated process.
As a result, there are very few people with the necessary skills to develop and operate Web-based systems for processing data of the FA devices.
U.S. Pat. No. 5,038,318 to Roseman discloses programmable logic controllers that direct the automatic operation of machine tools and process equipment.
U.S. Pat. No. 7,117,043 to Frederick et al. discloses a technique of creating a spreadsheet including information relating to devices and functions of a system to be controlled by a programmable logic controller (PLC), analyzing the spreadsheet, and writing PLC logic to control the system.
U.S. 2014/0149836 to Bedard discloses a method by which a dashboard container file is received that includes a spreadsheet file and a dashboard structure file, each of the spreadsheet file and the dashboard structure file are converted into a text-based, language-independent data interchange format, and data characterizing a dashboard can then be provided using the converted spreadsheet and dashboard files.
However, these related art techniques do not solve the above-noted problem that there are very few people with the necessary skills to develop and operate Web-based systems for processing data of devices, such as FA devices.
The above description of the related art does not constitute an admission of prior art in any way.